<?php
/**
 *  Validamos si los campos son alfanumericos de una determinada longitud
 *  Validamos que no exista
 * @param <type> $ep
 */
function validate($ep){
    //Carga de css
    $ep->css="css/cssRegistro.css";
    //Validacion de formulario
    $submit=$_REQUEST["submit"];
    //Sólo validaremos y ejecutaremos en caso de que sea una subida desde el
    //formulario, en otro caso devolvemos false y mostramos el formulario.
    if($submit!=""){
        $salida=true;
        $user=$_REQUEST["user"];
        $password1=$_REQUEST["password1"];
        $password2=$_REQUEST["password2"];
        $email=$_REQUEST["email"];
        //El user y password se pasan a minusculas
        $user=strtolower($user);
        $password1=strtolower($password1);
        $password2=strtolower($password2);
        //validacion parametrica
        //validacion user
        if(!valid_user($user)){
            $salida=false;
            $ep->error("El nombre de usuario introducido tiene que estar formado por caracteres alfanumericos.");
        }
        //validacion email
        if(!valid_email($email)){
            $salida=false;
            $ep->error("El email es incorrecto.");
        }
        //validacion de contraseña
        if(!valid_string($password1)){
            $salida=false;
            $ep->error("La contraseña introducida tine que estar formada por caracteres alfanumericos, sin incluir ñ, áéíóú ni ü.");
        }
        if($password1!=$password2){
            $salida=false;
            $ep->error("Las contraseñas no coinciden");
        }

        //validacion de estructura de datos
        if($salida){
            //Existencia de usuario
            $existe= name_exist($ep,$user);
            if($existe){
                $salida=false;
                $ep->error("El usuario $user, ya existe.");
            }
            
        }
        //Autorelleno de formulario
        
            $vars= Array();
            $vars['user']=$user;
            $vars['password']=$password1;
            $vars['email']=$email;
            $ep->vars=$vars;
        
        
        
    }else{
        $salida=false;
    }
    return $salida;
}
/**
 *  Sólo se ejecuta si la validación es correcta
 * @param <type> $ep
 */
function execute($ep){
    $vars=$ep->vars;
        $user=$vars['user'];
        $password=$vars['password'];
        $email=$vars['email'];
    $num_afect=insertar_usuario($ep, $user, $password, $email);
    //echo $num_afect;
    if($num_afect!=1){
        $ep->error("Error inesperado al crear un usuario.");
    }else{
        $ep->registrocorrecto=true;
    }
}
/**
 *  Esto se ejecuta este o no validado
 * @param <type> $ep
 */
function show($ep){
    if($ep->logeado()){
        echo "Usuario registrado y logeado.";
    }else{
        //Variables de autorelleno
        $vars=$ep->vars;
        $user=$vars['user'];
        $password=$vars['password'];
        $email=$vars['email'];
        //formulario de registro
?>
<br/>
<?php
if($ep->registrocorrecto)
{?>
    Usuario registrado correctamente, haga clic <a id="acceso_login" href="?command=login">aquí</a> para acceder a la página de identificación de usuario.
    <?php
    }else{
        ?>
<div id="div_form">

        <form  method="post" action="" onsubmit="return validaRegistro()">

        <div id="div_datos">

          <fieldset>

            <legend>Registro nuevo usuario</legend>
            <div id="div_errores" class="error">

		  	</div>

			<div id="div_usuario">
              <label id="label_usuario" for="usuario">Usuario:</label>
              <input id="usuario" name="user" type="text" value="<?php echo $user?>"/>
            </div>

			<div id="div_email">
              <label id="label_email" for="email">Email:</label>
              <input id="email" name="email" type="text" value="<?php echo $email?>"/>
          	</div>


			<div id="div_password">
              <label id="label_password" for="password">Password:</label>
              <input id="password" name="password1" type="password"/>
            </div>

			<div id="div_password2">
              <label id="label_password2" for="password2">Reescribe el Password:</label>
              <input id="password2" name="password2" type="password"/>
            </div>

			<input type="hidden" name="command" value="registro" />

          </fieldset>

		  <div id="div_submit">
            <input id="submit" type="submit" name="submit" value="Registrar" />
          </div>

        </div>
        
      </form>

	 </div>

<?php
    }
    
    }
}
?>
